Feign

	Feign 目标

		Feign 是声明式的 Web Service 客户端，它让微服务之间的调用变得更简单了，类似 Controller 调用 Service。
		Spring Cloud 集成了 Ribbon和Eureka，可在使用 Feign 时提供负载均衡的 Http 客户端。

		因为 Feign 底层是使用了 Ribbon 作为负载均衡的客户端，Ribbon 的负载均衡也是依赖于 Eureka 获得各个服务的地址，所以要引入 Eureka-Client。

		Feign 是社区提出的大家都习惯的面向接口编程，是很多开发人员的规范。

	调用微服务服务的两种方式

		1.微服务名称[Ribbon]

		2.接口和注解[Feign]


	注解解释
		
		@EnableDiscoveryClient //服务发现
		
		该注解一般用于查看注册进来的微服务，获取一些服务消息，开发过程中使用较多.

	FeignClient注解的一些属性
	
		属性名				默认值				作用											备注

		value				空字符串		调用服务名称，和name属性相同	
		
		serviceId			空字符串		服务id，作用和name属性相同							已过期
		
		name				空字符串		调用服务名称，和value属性相同	
		
		url					空字符串		全路径地址或hostname，http或https可选	
		
		decode404			false		配置响应状态码为404时是否应该抛出FeignExceptions	
		
		configuration		{}			自定义当前feign client的一些配置						参考FeignClientsConfiguration
		
		fallback			void.class	熔断机制，调用失败时，走的一些回退方法，				底层依赖hystrix，启动类要加上@EnableHystrix
										可以用来抛出异常或给出默认返回数据。	
		
		path				空字符串		自动给所有方法的requestMapping前加上前缀，
										类似与controller类上的requestMapping	
	
		primary				true	

